﻿using System.ComponentModel;

namespace AutoAim.Config
{
    // 新增一个顶层模式，用于区分硬锁和吸附
    public enum AimMode
    {
        [Description("硬锁定 (全自动)")] HardLock = 0,

        [Description("靠近吸附 (辅助)")] Adsorption
    }

    // 新增吸附的衰减模式
    public enum AdsorptionFalloff
    {
        [Description("固定引力")] Constant = 0,

        [Description("线性衰减 (越近越强)")] Linear
    }

    /// <summary>
    /// 锁敌距离类型
    /// </summary>
    public enum AimTargetDistanceType
    {
        [Description("固定距离")] Fixed = 0,

        [Description("基于武器确定")] BasedOnWeapon
    }

    /// <summary>
    /// 锁定部位
    /// </summary>
    public enum AimTargetPart
    {
        [Description("锁定头部")] Head = 0,

        [Description("锁定身体")] Body
    }

    /// <summary>
    /// 锁敌按键行为模式
    /// </summary>
    public enum AimActivationMode
    {
        [Description("始终关闭")] Disable = 0,

        [Description("始终开启")] AlwaysOn,

        [Description("处于瞄准时")] WhenAiming,

        [Description("不处于瞄准时")] WhenNotAiming,

        [Description("按热键切换开/关")] ToggleWithHotkey
    }

    /// <summary>
    /// 视野限制行为
    /// </summary>
    public enum AimVisibilityMode
    {
        /// <summary>
        /// 无视视野（即盲锁）
        /// </summary>
        /// [Description("")]
        IgnoreVisibility = 0,

        /// <summary>
        /// 必须在视野内
        /// </summary>
        /// [Description("")]
        RequireSight,

        /// <summary>
        /// 宽松视野
        /// </summary>
        /// [Description("")]
        RequireLooseSight
    }
}